two sum problem explained